public class test {
    /*** 
     * 1.从顺序表中删除自第i个元素起共k个元素。
     * 2.顺序表元素递减有序，将x插入顺序表中，保持其有序性。
     * 3.返回单链表中和元素x相等的序号，不存在该元素返回-1值。
     * 4.单链表就地逆置。
     * 5.la，lb为两个带头结点的单链表的头指针，从la中删除自第i个元素起共len个元素后，将他们插入表lb的第j个元素前。
    ***/

    public static void autoBuildSingleInteger(int i,int limit,SinglyList<Integer> sin) {
        for(int j = 0;j < i;j++) {
            sin.insert((int)(Math.random()*limit));
        }
    }

    public static void main(String[] args) {

        /*第1题验证*/
        System.out.println("第一题");
        SeqList seq1 = new SeqList();
        seq1.autoBuild(10, 100);
        System.out.println(seq1.remove(2, 5));
        seq1.print();
        SeqList seq2 = new SeqList();

        /*第2题验证*/
        System.out.println("第二题");
        seq2.autoBuildSort(10, 15, 20);
        System.out.println("the element has been insert into the please of " + seq2.insertSort(48));
        seq2.print();

        /*第三题验证*/
        System.out.println("第三题");
        SinglyList<Integer> sin1 = new SinglyList<Integer>();
        autoBuildSingleInteger(10,100, sin1);
        sin1.print();
        //随机查找能力验证
        System.out.println("the element location is" + sin1.getLocation(15));
        //给定查找能力验证
        sin1.insert(5,15);
        sin1.print();
        System.out.println("the element location is" + sin1.getLocation(15));

        /*第四题验证*/
        System.out.println("第四题");
        SinglyList<Integer> sin2 = new SinglyList<Integer>();
        autoBuildSingleInteger(10,100, sin2);
        sin2.print();
        sin2.reverseOrder();
        sin2.print();

        /*第五题验证 */
        System.out.println("第五题");
        SinglyList<Integer> sin3 = new SinglyList<Integer>();
        SinglyList<Integer> sin4 = new SinglyList<Integer>();
        autoBuildSingleInteger(10, 100, sin3);
        autoBuildSingleInteger(10, 100, sin4);
        System.out.print("一号链表：" + "\t");
        sin3.print();
        System.out.print("二号链表：" + "\t");
        sin4.print();
        sin4.insertNode(2, sin3.remove(4, 5));
        System.out.print("一号链表：" + "\t");
        sin3.print();
        System.out.print("二号链表：" + "\t");
        sin4.print();

    }

}
